package com.itzg.vboxfarm.service;

import java.util.Collection;

import com.itzg.vboxfarm.domain.HostMachine;
import com.itzg.vboxfarm.domain.Site;
import com.itzg.vboxfarm.service.bits.HostChangedEvent;

public interface HostConfigService {

	public void addSite(Site site);
	
	public Site findSite(long id);

	public Collection<Site> getAllSites();
	
	public void addHost(HostMachine hostMachine);

	public void updateHost(HostMachine hostMachine);

	public Collection<HostMachine> getHostsForSite(Site site);

	public Collection<HostMachine> getAllHosts();
	
	public HostMachine findHost(long id);
	
	public HostMachine removeHost(long hostId);

	public void checkHost(long hostId);

	public void publishEvent(HostChangedEvent hostChangedEvent);

}
